package com.efast.dmom.mgmt.dao.master;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.dmom.mgmt.entity.master.TmBasPackageSn;
import com.efast.dmom.mgmt.utils.Assist;
public interface TmBasPackageSnDao{
	/**
	 * 获得TmBasPackageSn数据的总行数,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * @param assist
	 * @return
	 */
    long getTmBasPackageSnRowCount(Assist assist);
	/**
	 * 获得TmBasPackageSn数据集合,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * @param assist
	 * @return
	 */
    List<TmBasPackageSn> selectTmBasPackageSn(Assist assist);
	/**
	 * 获得一个TmBasPackageSn对象,以参数TmBasPackageSn对象中不为空的属性作为条件进行查询
	 * @param obj
	 * @return
	 */
    TmBasPackageSn selectTmBasPackageSnByObj(TmBasPackageSn obj);
	/**
	 * 通过TmBasPackageSn的id获得TmBasPackageSn对象
	 * @param id
	 * @return
	 */
    TmBasPackageSn selectTmBasPackageSnById(Integer id);
	/**
	 * 插入TmBasPackageSn到数据库,包括null值
	 * @param value
	 * @return
	 */
    int insertTmBasPackageSn(TmBasPackageSn value);
	/**
	 * 插入TmBasPackageSn中属性值不为null的数据到数据库
	 * @param value
	 * @return
	 */
    int insertNonEmptyTmBasPackageSn(TmBasPackageSn value);
	/**
	 * 批量插入TmBasPackageSn到数据库,包括null值
	 * @param value
	 * @return
	 */
    int insertTmBasPackageSnByBatch(List<TmBasPackageSn> value);
	/**
	 * 通过TmBasPackageSn的id删除TmBasPackageSn
	 * @param id
	 * @return
	 */
    int deleteTmBasPackageSnById(Integer id);
	/**
	 * 通过辅助工具Assist的条件删除TmBasPackageSn
	 * @param assist
	 * @return
	 */
    int deleteTmBasPackageSn(Assist assist);
	/**
	 * 通过TmBasPackageSn的id更新TmBasPackageSn中的数据,包括null值
	 * @param enti
	 * @return
	 */
    int updateTmBasPackageSnById(TmBasPackageSn enti);
 	/**
	 * 通过辅助工具Assist的条件更新TmBasPackageSn中的数据,包括null值
	 * @param value
	 * @param assist
	 * @return
	 */
    int updateTmBasPackageSn(@Param("enti") TmBasPackageSn value, @Param("assist") Assist assist);
	/**
	 * 通过TmBasPackageSn的id更新TmBasPackageSn中属性不为null的数据
	 * @param enti
	 * @return
	 */
    int updateNonEmptyTmBasPackageSnById(TmBasPackageSn enti);
 	/**
	 * 通过辅助工具Assist的条件更新TmBasPackageSn中属性不为null的数据
	 * @param value
	 * @param assist
	 * @return
	 */
    int updateNonEmptyTmBasPackageSn(@Param("enti") TmBasPackageSn value, @Param("assist") Assist assist);
    /**
     * 根据包装箱号更新是否已入库的状态
     * @param boxNumber
     */
	void updateIsInbound(@Param("boxNumber") String boxNumber);
}